package regexp;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * 非捕获分组
 */
public class RegExp08 {

    public static void main(String[] args) {
        String content = "hello lmy你好 jack lmy老师 lmy同学 hello lmy学生";

        // 找到 lmy你好、lmy老师、lmy同学子字符串
//        String regStr = "lmy你好|lmy老师|lmy同学";
        //上面的写法可以等价于非捕获分组，不能matcher.group()
//        String regStr = "lmy(?=你好|老师|同学)";

        // 找到 lmy这个关键字，但是要求只是查找lmy你好和lmy老师中包含的lmy
        //下面也是非捕获分组，不能使用matcher.group(1)
//        String regStr = "lmy(?=你好|老师)";

        //找到 lmy这个关键字，但是要求只是查找不是(lmy你好和lmy老师)中包含的lmy
        //下面也是非捕获分组，不能使用 matcher.group(1)
        String regStr = "lmy(?!你好|老师)";

        Pattern pattern = Pattern.compile(regStr);
        Matcher matcher=pattern.matcher(content);
        while(matcher.find()){
            System.out.println("找到:"+matcher.group(0));
        }
    }
}
